package com.zheng.business.dao.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class BusinessAgentBillLog implements Serializable {
    /**
     * 编号
     *
     * @mbg.generated
     */
    private Integer id;

    /**
     * 代理ID
     *
     * @mbg.generated
     */
    private Integer agentId;

    /**
     * 总金额
     *
     * @mbg.generated
     */
    private BigDecimal amountTotal;

    /**
     * 剩余未提现金额
     *
     * @mbg.generated
     */
    private BigDecimal amountRemainder;

    /**
     * 提现金额
     *
     * @mbg.generated
     */
    private BigDecimal amount;

    /**
     * 提现方式（1，银行卡 2,支付宝 3,微信
     *
     * @mbg.generated
     */
    private Integer mode;

    /**
     * 开户行
     *
     * @mbg.generated
     */
    private String bank;

    /**
     * 银行卡号码/支付宝账号/微信账号
     *
     * @mbg.generated
     */
    private String bankCardNumber;

    /**
     * 银行预留电话号码
     *
     * @mbg.generated
     */
    private String bankPhone;

    /**
     * 开户人姓名/支付宝昵称/微信昵称
     *
     * @mbg.generated
     */
    private String bankUser;

    /**
     * 联系电话号码
     *
     * @mbg.generated
     */
    private String phone;

    /**
     * 申请人
     *
     * @mbg.generated
     */
    private String applyUser;

    /**
     * 转账凭证图片保存位置
     *
     * @mbg.generated
     */
    private String certificate;

    /**
     * 申请状态，1，申请提现，2，正处理 3，完成 4，失败
     *
     * @mbg.generated
     */
    private Integer status;

    /**
     * 备注
     *
     * @mbg.generated
     */
    private String bz;

    /**
     * 更改时间
     *
     * @mbg.generated
     */
    private Date updateTime;

    /**
     * 创建时间
     *
     * @mbg.generated
     */
    private Date createTime;

    private static final long serialVersionUID = 1L;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getAgentId() {
        return agentId;
    }

    public void setAgentId(Integer agentId) {
        this.agentId = agentId;
    }

    public BigDecimal getAmountTotal() {
        return amountTotal;
    }

    public void setAmountTotal(BigDecimal amountTotal) {
        this.amountTotal = amountTotal;
    }

    public BigDecimal getAmountRemainder() {
        return amountRemainder;
    }

    public void setAmountRemainder(BigDecimal amountRemainder) {
        this.amountRemainder = amountRemainder;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public Integer getMode() {
        return mode;
    }

    public void setMode(Integer mode) {
        this.mode = mode;
    }

    public String getBank() {
        return bank;
    }

    public void setBank(String bank) {
        this.bank = bank;
    }

    public String getBankCardNumber() {
        return bankCardNumber;
    }

    public void setBankCardNumber(String bankCardNumber) {
        this.bankCardNumber = bankCardNumber;
    }

    public String getBankPhone() {
        return bankPhone;
    }

    public void setBankPhone(String bankPhone) {
        this.bankPhone = bankPhone;
    }

    public String getBankUser() {
        return bankUser;
    }

    public void setBankUser(String bankUser) {
        this.bankUser = bankUser;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getApplyUser() {
        return applyUser;
    }

    public void setApplyUser(String applyUser) {
        this.applyUser = applyUser;
    }

    public String getCertificate() {
        return certificate;
    }

    public void setCertificate(String certificate) {
        this.certificate = certificate;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getBz() {
        return bz;
    }

    public void setBz(String bz) {
        this.bz = bz;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", agentId=").append(agentId);
        sb.append(", amountTotal=").append(amountTotal);
        sb.append(", amountRemainder=").append(amountRemainder);
        sb.append(", amount=").append(amount);
        sb.append(", mode=").append(mode);
        sb.append(", bank=").append(bank);
        sb.append(", bankCardNumber=").append(bankCardNumber);
        sb.append(", bankPhone=").append(bankPhone);
        sb.append(", bankUser=").append(bankUser);
        sb.append(", phone=").append(phone);
        sb.append(", applyUser=").append(applyUser);
        sb.append(", certificate=").append(certificate);
        sb.append(", status=").append(status);
        sb.append(", bz=").append(bz);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", createTime=").append(createTime);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        BusinessAgentBillLog other = (BusinessAgentBillLog) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getAgentId() == null ? other.getAgentId() == null : this.getAgentId().equals(other.getAgentId()))
            && (this.getAmountTotal() == null ? other.getAmountTotal() == null : this.getAmountTotal().equals(other.getAmountTotal()))
            && (this.getAmountRemainder() == null ? other.getAmountRemainder() == null : this.getAmountRemainder().equals(other.getAmountRemainder()))
            && (this.getAmount() == null ? other.getAmount() == null : this.getAmount().equals(other.getAmount()))
            && (this.getMode() == null ? other.getMode() == null : this.getMode().equals(other.getMode()))
            && (this.getBank() == null ? other.getBank() == null : this.getBank().equals(other.getBank()))
            && (this.getBankCardNumber() == null ? other.getBankCardNumber() == null : this.getBankCardNumber().equals(other.getBankCardNumber()))
            && (this.getBankPhone() == null ? other.getBankPhone() == null : this.getBankPhone().equals(other.getBankPhone()))
            && (this.getBankUser() == null ? other.getBankUser() == null : this.getBankUser().equals(other.getBankUser()))
            && (this.getPhone() == null ? other.getPhone() == null : this.getPhone().equals(other.getPhone()))
            && (this.getApplyUser() == null ? other.getApplyUser() == null : this.getApplyUser().equals(other.getApplyUser()))
            && (this.getCertificate() == null ? other.getCertificate() == null : this.getCertificate().equals(other.getCertificate()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getBz() == null ? other.getBz() == null : this.getBz().equals(other.getBz()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getAgentId() == null) ? 0 : getAgentId().hashCode());
        result = prime * result + ((getAmountTotal() == null) ? 0 : getAmountTotal().hashCode());
        result = prime * result + ((getAmountRemainder() == null) ? 0 : getAmountRemainder().hashCode());
        result = prime * result + ((getAmount() == null) ? 0 : getAmount().hashCode());
        result = prime * result + ((getMode() == null) ? 0 : getMode().hashCode());
        result = prime * result + ((getBank() == null) ? 0 : getBank().hashCode());
        result = prime * result + ((getBankCardNumber() == null) ? 0 : getBankCardNumber().hashCode());
        result = prime * result + ((getBankPhone() == null) ? 0 : getBankPhone().hashCode());
        result = prime * result + ((getBankUser() == null) ? 0 : getBankUser().hashCode());
        result = prime * result + ((getPhone() == null) ? 0 : getPhone().hashCode());
        result = prime * result + ((getApplyUser() == null) ? 0 : getApplyUser().hashCode());
        result = prime * result + ((getCertificate() == null) ? 0 : getCertificate().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getBz() == null) ? 0 : getBz().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        return result;
    }
}